//Fonction à executer au chargement du DOM => jQuery(document).ready()
function page_init(){

	connection_panel_refresh();
	
}

//envoie la requete ajax qui crée un nouveau compte
function create_account(){
            
	jQuery.post("php/create_account_ajax.php", {pseudo: jQuery('#pseudo')[0].value,nom: jQuery('#nom')[0].value, prenom: jQuery('#prenom')[0].value,email:jQuery('#email')[0].value,pass1: jQuery('#pass1')[0].value,pass2: jQuery('#pass2')[0].value,captcha :jQuery('#captcha')[0].value},
			function(data){
				var obj = jQuery.parseJSON(data);
				if (obj.state == "account_created") {
					
					
					jQuery(document).trigger('close.facebox');
					jQuery.facebox('<span class="success_message">'+obj.message+'</span>');
                                        //window.setTimeout(jQuery(document).trigger('close.facebox'), 2000);
					connection_panel_refresh();
				}
				else {
					if(obj.state == "error"){
						jQuery('#display_error_create').html(obj.error_description);
						jQuery('#display_error_create').removeClass('hidden');
					} 
				}
			});
}

//envoie la requete ajax permettant le log de l'utilisateur
function log_in(){
    console.log("fonction log_in");
	jQuery.post("php/login_ajax.php", {mail: jQuery('#mail')[0].value,pass: jQuery('#pass')[0].value},
			function(data){
				var obj = jQuery.parseJSON(data);
				//si l'identification a reussi: on cache le message d'erreur et on ferme la fenetre pop-up, puis on recharge le connection_panel
				if (obj.state == "connected") {
					jQuery('#display_error_login').addClass('hidden');
					jQuery(document).trigger('close.facebox');
					console.log("connected"); 
					connection_panel_refresh();
				}
				else if(obj.state == "error"){
						//si erreur dans l'identification, on affiche le message d'erreur
						if(!obj.error_description || obj.error_description != ""){
							jQuery('#display_error_login').html(obj.error_description);
						}else {
							jQuery('#display_error_login').html("Erreur lors de l'identification, veuillez r&eacute;-essayer");
						}
						jQuery('#display_error_login').removeClass('hidden');
					}
			});
}

//recharge le connection_panel
function connection_panel_refresh(){
	
	jQuery.get("php/connection_panel.php", function(data) {
		  jQuery('#log').html(data); 
		  jQuery('a[rel*=facebox]').facebox();}
		);
}

//envoie une requete de fermeture de session
function session_destroy(){
	
	jQuery.get("php/destroy_session.php", function(data) {
		//console.log("Traitement du retour de la deconnexion...");
		
		var obj =  jQuery.parseJSON(data);
		//console.log(obj.state);
		if (obj.state == "disconnected") {
			//on affiche une pop _up pour confirmer
			//la pop up reste affichée juste un instant comme sur facebook
                        location.reload();
			
		}else if(obj.state == "error"){
			console.log("erreur de deconnexion");
			//si erreur dans la deconnexion, on affiche le message d'erreur, dans une pop-up, même principe que dessus
			//message d'erreur dans obj.err_msg
		}
		connection_panel_refresh();
		  });
}

//envoie une requete ajax pour obtenir les news suivantes à afficher
function get_next_news(page){
    jQuery.get("php/news_manager_ajax.php",{num_page:page},insert_news_in_DOM(data));
}

function insert_news_in_DOM(data){
    
        
       var obj =  jQuery.parseJSON(data);
       var news_container= jQuery('#news_container');
       news_container.removeClass('loading');
       //jQuery('#news_container').addClass('hidden');
       if(obj.state == "ok"){
            //on récupère un tableau de news
            console.log('state -> ok');
           var news_array = obj.news_array;
           //on boucle
           
           
           var news_tmp;
           while((news_tmp = news_array.pop())){
               /*
                * Ici on boucle pour construire une div par news
                */
               var news_element = jQuery('<div>',{id:'news_'+news_tmp.id_news}).addClass('news');
               jQuery('<h2></h2>').html(news_tmp.title).appendTo(news_element);
               jQuery('<span></span>').addClass('date').html(news_tmp.date+'par '+news_tmp.id_author).appendTo(news_element);
               jQuery('<div> </div>').addClass('news_content').html(news_tmp.content).appendTo(news_element);
               news_element.appendTo(news_container);
           }
           
           
        
        }else{
            //code si erreur de chargement
        }
    
}

function stripslashes(str) {
    str=str.replace(/\\'/g,'\'');
    str=str.replace(/\\"/g,'"');
    str=str.replace(/\\0/g,'\0');
    str=str.replace(/\\\\/g,'\\');
    return str;
}

function addslashes(str) {
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\0/g,'\\0');
return str;
}

function toggle_magicbar(){
    var magicbar = jQuery('#magicbar');
    
    magicbar.toggleClass('hidden');
    jQuery('#menu_item').toggleClass('item_focused'); 
}